package com.dagger.weapon.utils;

import org.springframework.stereotype.Repository;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

@Repository
public class UploadImg {

    //定义一个图片上传的目标路径，这是放在tomcat目录
    private static final String BASE_PATH="G:\\picture";

    //定义一个访问图片的路径(这里与容器地址一样)
    private static final  String SERVER_PATH="http://localhost:8080/img/";

    public String upload(MultipartFile file){
        //file校验
        if (file.isEmpty()){
            return "上传文件是空的";
        }
        //获取上传文件的名称
        String filename = file.getOriginalFilename();
        //保持唯一名字的图片文件(用UUID来对filename进行改写)
        assert filename != null;
        //分割后取最后一个元素（得到文件格式再把uuid.加上）
        String[] spl = filename.split("\\.");
        String ext = "." + spl[spl.length-1];
        String uuid = UUID.randomUUID().toString().replace("-","");
        //将生成的uuid和filename进行拼接
        String newFilename = uuid+"-"+ext;
        //创建一个文件实例对象
        File imagePath = new File(BASE_PATH,newFilename);
        //对这个文件进行上传操作
        try{
            file.transferTo(imagePath);
            return SERVER_PATH+newFilename;
        }catch (IOException e){
            e.printStackTrace();
        }
        return null;
    }

}
